Me.Locale = New System.Globalization.CultureInfo("en-US")
Me.CaseSensitive = False
Me.EnforceConstraints = True
Me.tablePublishers = New PublishersDataTable()
Me.Tables.Add(Me.tablePublishers)
Me.tableTitles = New TitlesDataTable()
Me.Tables.Add(Me.tableTitles)
Dim fkc As ForeignKeyConstraint
fkc = New ForeignKeyConstraint("PubTitles", New DataColumn() {Me.tablePublishers.pub_idColumn}, New DataColumn() {Me.tableTitles.pub_idColumn})
Me.tableTitles.Constraints.Add(fkc)
fkc.AcceptRejectRule = AcceptRejectRule.None
fkc.DeleteRule = Rule.Cascade
fkc.UpdateRule = Rule.Cascade
Me.relationPubTitles = New DataRelation("PubTitles", New DataColumn() {Me.tablePublishers.pub_idColumn}, New DataColumn() {Me.tableTitles.pub_idColumn}, False)
Me.Relations.Add(Me.relationPubTitles)
End Sub
Private Function ShouldSerializePublishers() As Boolean
Return False
End Function
Private Function ShouldSerializeTitles() As Boolean
Return False
End Function
Private Sub SchemaChanged(ByVal sender As Object, ByVal e As System.ComponentModel.CollectionChangeEventArgs)
If (e.Action = System.ComponentModel.CollectionChangeAction.Remove) Then
Me.InitVars()
End If
End Sub
Public Delegate Sub PublishersRowChangeEventHandler(ByVal sender As Object, ByVal e As PublishersRowChangeEvent)
Public Delegate Sub TitlesRowChangeEventHandler(ByVal sender As Object, ByVal e As TitlesRowChangeEvent)
<System.Diagnostics.DebuggerStepThrough()> _
Public Class PublishersDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnpub_id As DataColumn
Private columnpub_name As DataColumn
Private columncity As DataColumn
Private columnstate As DataColumn
Private columncountry As DataColumn
Friend Sub New()
MyBase.New("Publishers")
Me.InitClass()
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(False)> _
Public ReadOnly Property Count() As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property pub_idColumn() As DataColumn
Get
Return Me.columnpub_id
End Get
End Property
Friend ReadOnly Property pub_nameColumn() As DataColumn
Get
Return Me.columnpub_name
End Get
End Property
Friend ReadOnly Property cityColumn() As DataColumn
Get
Return Me.columncity
End Get
End Property
Friend ReadOnly Property stateColumn() As DataColumn
Get
Return Me.columnstate
End Get
End Property
Friend ReadOnly Property countryColumn() As DataColumn
Get
Return Me.columncountry
End Get
End Property
Default Public ReadOnly Property Item(ByVal index As Integer) As PublishersRow
Get
Return CType(Me.Rows(index), PublishersRow)
End Get
End Property
Public Event PublishersRowChanged As PublishersRowChangeEventHandler
Public Event PublishersRowChanging As PublishersRowChangeEventHandler
Public Event PublishersRowDeleted As PublishersRowChangeEventHandler
Public Event PublishersRowDeleting As PublishersRowChangeEventHandler
Public Overloads Sub AddPublishersRow(ByVal row As PublishersRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddPublishersRow(ByVal pub_id As String, ByVal pub_name As String, ByVal city As String, ByVal state As String, ByVal country As String) As PublishersRow
Dim rowPublishersRow As PublishersRow = CType(Me.NewRow, PublishersRow)
rowPublishersRow.ItemArray = New Object() {pub_id, pub_name, city, state, country}
Me.Rows.Add(rowPublishersRow)
Return rowPublishersRow
End Function
Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return Me.Rows.GetEnumerator
End Function
Public Overrides Function Clone() As DataTable
Dim cln As PublishersDataTable = CType(MyBase.Clone, PublishersDataTable)
cln.InitVars()
Return cln
End Function
Friend Sub InitVars()
Me.columnpub_id = Me.Columns("pub_id")
Me.columnpub_name = Me.Columns("pub_name")
Me.columncity = Me.Columns("city")
Me.columnstate = Me.Columns("state")
Me.columncountry = Me.Columns("country")
End Sub
Private Sub InitClass()
Me.columnpub_id = New DataColumn("pub_id", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnpub_id)
Me.columnpub_name = New DataColumn("pub_name", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnpub_name)
Me.columncity = New DataColumn("city", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columncity)
Me.columnstate = New DataColumn("state", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnstate)
Me.columncountry = New DataColumn("country", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columncountry)
Me.Constraints.Add(New UniqueConstraint("Constraint1", New DataColumn() {Me.columnpub_id}, False))
Me.columnpub_id.Unique = True
End Sub
Public Function NewPublishersRow() As PublishersRow
Return CType(Me.NewRow, PublishersRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New PublishersRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(PublishersRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.PublishersRowChangedEvent) Is Nothing) Then
RaiseEvent PublishersRowChanged(Me, New PublishersRowChangeEvent(CType(e.Row, PublishersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.PublishersRowChangingEvent) Is Nothing) Then
RaiseEvent PublishersRowChanging(Me, New PublishersRowChangeEvent(CType(e.Row, PublishersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.PublishersRowDeletedEvent) Is Nothing) Then
RaiseEvent PublishersRowDeleted(Me, New PublishersRowChangeEvent(CType(e.Row, PublishersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.PublishersRowDeletingEvent) Is Nothing) Then
RaiseEvent PublishersRowDeleting(Me, New PublishersRowChangeEvent(CType(e.Row, PublishersRow), e.Action))
End If
End Sub
Public Sub RemovePublishersRow(ByVal row As PublishersRow)
Public Sub New(ByVal row As PublishersRow, ByVal action As DataRowAction)
MyBase.New()
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row() As PublishersRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action() As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class TitlesDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columntitle_id As DataColumn
Private columntitle As DataColumn
Private columntype As DataColumn
Private columnpub_id As DataColumn
Private columnprice As DataColumn
Private columnadvance As DataColumn
Private columnroyalty As DataColumn
Private columnytd_sales As DataColumn
Private columnnotes As DataColumn
Private columnpubdate As DataColumn
Friend Sub New()
MyBase.New("Titles")
Me.InitClass()
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(False)> _
Public ReadOnly Property Count() As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property title_idColumn() As DataColumn
Get
Return Me.columntitle_id
End Get
End Property
Friend ReadOnly Property titleColumn() As DataColumn
Get
Return Me.columntitle
End Get
End Property
Friend ReadOnly Property typeColumn() As DataColumn
Get
Return Me.columntype
End Get
End Property
Friend ReadOnly Property pub_idColumn() As DataColumn
Get
Return Me.columnpub_id
End Get
End Property
Friend ReadOnly Property priceColumn() As DataColumn
Get
Return Me.columnprice
End Get
End Property
Friend ReadOnly Property advanceColumn() As DataColumn
Get
Return Me.columnadvance
End Get
End Property
Friend ReadOnly Property royaltyColumn() As DataColumn
Get
Return Me.columnroyalty
End Get
End Property
Friend ReadOnly Property ytd_salesColumn() As DataColumn
Get
Return Me.columnytd_sales
End Get
End Property
Friend ReadOnly Property notesColumn() As DataColumn
Get
Return Me.columnnotes
End Get
End Property
Friend ReadOnly Property pubdateColumn() As DataColumn
Get
Return Me.columnpubdate
End Get
End Property
Default Public ReadOnly Property Item(ByVal index As Integer) As TitlesRow
Get
Return CType(Me.Rows(index), TitlesRow)
End Get
End Property
Public Event TitlesRowChanged As TitlesRowChangeEventHandler
Public Event TitlesRowChanging As TitlesRowChangeEventHandler
Public Event TitlesRowDeleted As TitlesRowChangeEventHandler
Public Event TitlesRowDeleting As TitlesRowChangeEventHandler
Public Overloads Sub AddTitlesRow(ByVal row As TitlesRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddTitlesRow(ByVal title_id As String, ByVal title As String, ByVal type As String, ByVal parentPublishersRowByPubTitles As PublishersRow, ByVal price As Decimal, ByVal advance As Decimal, ByVal royalty As Integer, ByVal ytd_sales As Integer, ByVal notes As String, ByVal pubdate As Date) As TitlesRow
Dim rowTitlesRow As TitlesRow = CType(Me.NewRow, TitlesRow)